package com.ahdy.service;

import com.ahdy.entity.FamilyUser;
import org.springframework.stereotype.Service;

import java.util.List;

/**
 * 子女用户服务接口
 */
@Service
public interface FamilyUserService {

    /**
     * 添加子女用户
     *
     * @param familyUser 子女用户实体
     * @return 新增用户ID
     */
    Integer addFamilyUser(FamilyUser familyUser);

    /**
     * 更新子女用户信息
     *
     * @param familyUser 子女用户实体
     * @return 影响行数
     */
    int updateFamilyUser(FamilyUser familyUser);

    /**
     * 删除子女用户
     *
     * @param id 用户ID
     * @return 影响行数
     */
    int deleteFamilyUser(Integer id);

    /**
     * 根据ID查询子女用户
     *
     * @param id 用户ID
     * @return 子女用户实体
     */
    FamilyUser getFamilyUserById(Integer id);

    /**
     * 查询所有子女用户
     *
     * @return 用户列表
     */
    List<FamilyUser> getAllFamilyUsers();

    /**
     * 根据手机号查询子女用户
     *
     * @param phone 手机号
     * @return 子女用户实体
     */
    FamilyUser getFamilyUserByPhone(String phone);

    /**
     * 用户登录
     *
     * @param phone    手机号
     * @param password 密码
     * @return 子女用户实体，登录失败返回null
     */
    FamilyUser login(String phone, String password);

    /**
     * 根据老人ID查询关联的子女列表
     *
     * @param elderlyId 老人用户ID
     * @return 子女用户列表
     */
    List<FamilyUser> getFamilyUsersByElderlyId(Integer elderlyId);
}
